package com.cq.hd.member.service;

import com.cq.hd.common.pagination.Page;
import com.cq.hd.member.api.dto.*;
import com.cq.hd.member.api.vo.BusinessEnterApplyDetailVo;
import com.cq.hd.member.api.vo.BusinessEnterApplyPageVo;
import com.cq.hd.member.api.vo.BusinessEnterApplyVo;
import com.cq.hd.member.po.TbBusinessEnterApplyPo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 商家入驻申请记录表 服务类
 * </p>
 *
 * @author mYunYu
 * @since 2023-11-21
 */
public interface TbBusinessEnterApplyService extends IService<TbBusinessEnterApplyPo> {

    Page<BusinessEnterApplyPageVo> pageBusinessEnterApply(BusinessEnterApplyPageDto businessEnterApplyPageDto);

    BusinessEnterApplyPageVo details(Long id);

    boolean audit(BusinessEnterAuditDto businessEnterAuditDto);

    boolean apply(BusinessEnterApplyDto businessEnterApplyDto);

    List<BusinessEnterApplyPageVo> listByApplyNoAndHfId(String hfApplyNo, String hfMerchantNo);

    Boolean updateBusinessEnterApplyById(BusinessEnterApplyUpdateDto businessEnterApplyUpdateDto);

    Boolean enterSuccess(Long id);

    Boolean merchantOpen(MerchantOpenDto merchantOpenDto);

    Boolean merchantSubAcctOpen(MerchantSubAcctOpenDto merchantSubAcctOpenDto);

    BusinessEnterApplyVo getEnterInfoByUserId(Long userId);

    List<BusinessEnterApplyPageVo> listByHfId(String hfMerchantNo);

    List<BusinessEnterApplyPageVo> listByDto(BusinessEnterApplyQueryDto businessEnterApplyQueryDto);

    Boolean scanBusinessEnter();

    BusinessEnterApplyDetailVo getSuccessEnterInfoByOpenid(String openid);

    Boolean validSettleCode(String settleCode);
}
